CloudWatch Logs のログを API 経由でリアルタイムに取得できるようになりました
こんにちは、森田です!
以下で Amazon CloudWatch Logs Live Tail の ストリーミング API がサポートされるアップデートがありました。
Amazon CloudWatch Logs Live Tail とは
リアルタイムで Amazon CloudWatch Logs のログ確認ができるサービスとなります。
従来までは、以下のようにAWSマネジメントコンソールに入ることでリアルタイムなログの確認ができていました。
今回のアップデートによって、AWSマネジメントコンソールに入らずとも、手元の環境でもリアルタイムにログの確認が可能となります。
本記事では実際に CloudWatch Logs Live Tail を API (AWS CLI)から使ってみます。
やってみた
前提条件
本記事では、AWS CLI v2 を使って実行を行います。
aws-cli/2.14.5
また、 AWS Lambda をコンソールから作成して以下のロググループにログ出力できるようにします。
/aws/lambda/cw-sample
AWS CLI の実行
AWS CLI の場合は、aws logs tailで実行することが可能です。
aws logs tail ロググループ名
実行する際のオプションとして、--followがあります。
このオプションでは、新しいログを継続的にポーリングするかどうかを指定することが可能となっています。
オプションなし
オプションを指定しない場合は、過去 10 分前のデータを表示のみ行い、実行終了となります。
aws logs tail /aws/lambda/cw-sample
$ aws logs tail /aws/lambda/cw-sample 2023-12-14T13:06:06.587000+00:00 2023/12/14/[$LATEST]xxxx INIT_START Runtime Version: python:3.11.v25 Runtime Version ARN: arn:aws:lambda:ap-northeast-1::runtime:a3304f2b48f740276b97ad9c52a9cc36a0bd9b44fecf74d0f1416aafb74e92fc 2023-12-14T13:06:06.701000+00:00 2023/12/14/[$LATEST]xxxx START RequestId: 2134c1ca-0498-420e-aa9b-17e26ce1de6c Version: $LATEST 2023-12-14T13:06:06.704000+00:00 2023/12/14/[$LATEST]xxxx END RequestId: 2134c1ca-0498-420e-aa9b-17e26ce1de6c 2023-12-14T13:06:06.704000+00:00 2023/12/14/[$LATEST]xxxx REPORT RequestId: 2134c1ca-0498-420e-aa9b-17e26ce1de6c Duration: 1.25 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 40 MB Init Duration: 112.74 ms $
オプションあり
オプションありの場合は、ポーリングを行うため、ログをリアルタイムに表示することが可能です。
aws logs tail /aws/lambda/cw-sample --follow
最後に
Amazon CloudWatch Logs をリアルタイムで手元で確認できる非常に便利なアップデートとなっています。
開発時などログを素早く確認したい際には、積極的に活用したいですね。
なお、Live Tail では、実行している時間での従量課金が発生するため、CLIから実行したままにならないようにくれぐれもご注意ください。